package cool.gaogao.proxy;

import java.lang.reflect.InvocationHandler;
import java.lang.reflect.Method;
import java.lang.reflect.Proxy;

/**
 * @author 高山青
 * @Date 2021/12/31  -   9:11
 */
public class ProxyDe {
	public static void main(String[] args) {

		Class[] objs=new Class[]{UserDao.class};


		UserDao userDao=(UserDao) Proxy.newProxyInstance(ProxyDe.class.getClassLoader(), objs, new InvocationHandler() {
			@Override
			public Object invoke(Object proxy, Method method, Object[] args) throws Throwable {
				System.out.println("方法执行前"+method.getName()+args);
				method.invoke(new UserDaoImp(),args);
				System.out.println("方法执行后");
				return null;
			}
		});
		userDao.add();
		userDao.update();
	}
}
